In recent years, there has been widespread growth in the development and use of digital communication methods and systems, such growth being exemplified by the advent of digital television broadcasting, the proliferation of wireless telephones, and the prevalence of electronic mail and computer networking, especially the Internet. Moving in step with this expansion of digital communication, has been the demand for increased bandwidth to accommodate the transmission of digitized multimedia information (e.g., images, audio, video). The available bandwidth provided by conventional transmission systems is, however, limited. Accordingly, compression techniques are commonly employed to reduce the bandwidth necessary to transmit multimedia content.
One of the most common and widely adopted family of standards for compression of video signals is known as MPEG-2, developed by the Motion Pictures Expert Group. See, e.g., International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) 13818-1, Information Technology—Generic Coding of Moving Pictures and Associated Audio Information: Systems; and ISO/IEC 13818-2, Information Technology—Generic Coding of Moving Pictures and Associated Audio: Video. The MPEG-2 standards have received widespread acceptance in the digital television industry. For example, MPEG-2 had been adopted by the Advanced Television System Committee, or ATSC (United States), by Digital Video Broadcasting, or DVB (Europe), by the Association of Radio Industries and Business, or ARIB (Japan), and by the Society of Cable Telecommunications Engineers (SCTE).
Of particular interest in the digital multimedia environment is the transmission of data that has been multiplexed into an MPEG-2 transport stream that already includes the packets of video and audio elementary streams pertaining to, for example, a digital television programming event. The MPEG-2 standards also define a set of tools, known as Digital Storage Media—Command and Control (DSM-CC), for performing such data transmission, as well as other functions. See ISO/IEC 13818-6, Information Technology—Generic Coding of Moving Pictures and Associated Audio Information-Part 6: Extensions for DSM-CC. 
The DSM-CC specification defines protocols for both data and object carousels. A data carousel comprises a series of data modules that are transmitted in an MPEG-2 transport stream in a periodic manner. Similarly, an object carousel includes a set of object modules that are transmitted periodically, an object module comprising data exhibiting a hierarchical structure (e.g., directories and files) that can be reconstructed at the receiving end of the MPEG-2 transmission. More specifically, an object module is a data module conveying one or several individual objects referred to as BIOP (Broadcast Inter-ORB Protocol) objects, as defined in the DSM-CC specification. An individual BIOP object may represent a file, a directory, a service gateway, or a stream object. As used herein, the term “object module” refers to a data module including one or more such BIOP objects, or an equivalent thereof.
There are a number of potential uses for data and object carousels. By way of example, a data or object carousel may be used for the transmission of electronic program guide information—including title, channel, time, as well as show information—within an MPEG-2 digital television signal. Similarly, data and object carousels may be used to transmit advertising or product information to television viewers. Other potential applications include the transmission of emergency information, books, movies, weather forecasts, news, and music. Data and object carousels; may be used in both simplex transmission systems and duplex transmission systems (i.e., having a return channel for interactivity). Further, data and object carousels may be applied to unicast transmissions (i.e., point-to-point), multicast transmissions (i.e., one to a specified group), and broadcast transmissions (i.e., one to all or an unspecified number).
Despite the utility of data and object carousels and their potential for use in the expanding digital television market, as well as in other multimedia applications, conventional implementations of data and object carousels have proven unsatisfactory for a number of reasons. For example, conventional data and object carousels do not provide adequate tuneability, do not provide prioritization for modules containing critical information, and provide minimal compensation for data corruption or transmission errors.
A broadcaster does not know when any particular subscriber or viewer will tune to a particular channel and, therefore, can not tailor a carousel to any specific viewer or group of viewers. Thus, a broadcaster can not commence transmission of a carousel in response to any particular viewer tuning to a channel. Further, the broadcaster can not transmit to a first viewer tuning to a channel a carousel having a set of data or object modules arranged in a particular order and then transmit to a second viewer tuning to the channel at some later point in time a carousel having a different arrangement of the data or object modules.
In sum, the broadcaster simply has no knowledge of viewer behavior and can not insure that a high priority data or object module will be available immediately after a viewer tunes into a particular channel. As a result, a viewer tuning to a channel mid-way through the transmission period of a carousel will not be able to receive those data or object modules transmitted prior to tuning into that channel, and the viewer must wait at least the remainder of the carousel period to receive any missed module. Conventional data and object carousels do not, therefore, provide those receiving the carousel with the ability to tune to the channel on which the carousel is being transmitted and, with minimal or no delay, receive a desired or critical module within the carousel. Thus, conventional data and object carousel do not provide efficiency of acquisition or, in other words, these carousels lack tuneability.
Within a data or object carousel, certain of the modules making up that carousel may contain critical information, and it may be desirable to insure that one or more of these critical modules is received immediately upon tuning to the channel on which the carousel is being transmitted, or shortly thereafter. A critical data or object module may, by way of example, comprise a module including files or instructions necessary for rendering data contained in other modules within the carousel (e.g., a media plug-in). However, conventional data and object carousels are not susceptible to prioritization. Although it is possible to arrange the modules within a data or object carousel such that any high priority modules are, for example, placed at or near the beginning of the carousel's period, it is not possible to insure the high priority modules are received first because, as noted above, a broadcaster does not know a priori when a viewer will tune to a particular channel.
Conventional data and object carousels also fail to provide adequate compensation for data corruption or transmission error. If a data or object module becomes corrupted during transmission, that module is not available to the receiving entity for at least the period of the carousel (i.e., the time required for that module to be repeated during the subsequent transmission of the carousel). Loss of a module due to transmission errors or data corruption can be especially problematic for high priority modules, as loss of the critical data or object module may impede use of other modules on the carousel.